//Please use this Google doc to code during your interview. To free your hands for coding, we recommend that you use a headset or a phone with speaker option.
//
//Best,
//Google Staffing
//
//Hello, this is Liang. 
//Hi, this is Hadon.  I will call now...
//
//Unique Id Service. 
//
//
//idea: 
//network card address, current time (milliseconds).
//
//idea:
//  network card address, current time (milliseconds), rand
//  random gen seeded by time
//
//idea:
//  network card address, current time (milliseconds), counter
//
//size: 
//  net-address: 8 bytes
//  time: 8 bytes   
//  counter: 4 bytes
//
//assumptions:
//  calls per ms < 2^32 = 4 * 10^9
//  assume the time spent to restart a server is more than 1 millisecond

// make sure the caller delete the returned array, which size is 5;
//int* f() { //20bytes a[5]
//	static count = 0;
//	static long long count_time =0 ;
//	int * id = new int[5];
//	long long net-address = getnetaddress();
//	id[0] = net-address >> 32; // high part
//	id[1] = net-address << 32 ; // lower part
//	long long curr_time = gettimeoftheday();
//	id[2] = time >> 32;
//	id[3] = time << 32;
//	if ( curr_time != count_time) {
//		count = 0;
//		count_time = curr_time;
//	}
//	else {
//++count;
//}
//	id[4] = count;	
//}